#pragma once

#include "SubSystem.h"
#include "Scene.h"
#include <string>

class SceneManager : public SubSystem
{
public:
	explicit SceneManager(GameApp* pGameApp);
	virtual ~SceneManager();

	//TODO: ObjectManager? ObjectRegistry?
	//() RegisterScene(const std::string& name, ObjectFactory* factory);

	virtual Scene* OpenScene(const std::string& name);

	Scene* GetCurrentScene() const { return m_currentScene; }
private:
	Scene* m_currentScene;
};
